package com.jwsoft.manager.core.integration.individuation;

import com.jwsoft.manager.common.vo.eduCompany.EduCompanyVO;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.common.vo.eduHousehold.EduHouseholdVO;
import com.jwsoft.manager.common.vo.eduJhjyQuerySync.JhjyQueryVO;
import com.jwsoft.manager.common.vo.eduLivePlace.EduLivePlaceVO;
import com.jwsoft.manager.common.vo.eduNetsign.EduNetsignVO;
import com.jwsoft.manager.common.vo.eduSocialSecurity.EduSocialSecurityVO;
import com.jwsoft.manager.common.vo.eduStudentEnroll.SaveStudentEnrollVO;
import com.jwsoft.manager.common.vo.eduStudentEnroll.StudentFormVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollBefore.BatchCreateVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollPre.EduStudentEnrollPreKeyVO;
import com.jwsoft.manager.common.vo.individuation.*;
import com.jwsoft.manager.core.dao.model.EduJhjySync;
import com.jwsoft.manager.core.dao.model.EduSocialSecurity;
import com.jwsoft.manager.core.dao.model.EduStudentEnrollPre;

import java.util.List;

/**
 * 教育各统筹区个性接口
 * **/
public interface IndividuationIntegration {
    /**
     * 户籍接口信息获取并保存
     * */
    List<EduHouseholdVO> saveHouseHoldData(HouseHoldSaveVO vo);
    /**
     * 房产接口信息获取并保存
     * **/
    List<EduHouseVO> saveHouseInterfaceData(HouseInterfaceSaveVO vo);
    /***
     * 网签接口信息获取并保存
     * */
    List<EduNetsignVO> saveNetsignInterfaceData(NetsignSaveVO vo);
    /***
     * 根据合同编号网签接口信息获取并保存
     * */
    List<EduNetsignVO> saveNetsignJhInterfaceData(NetsignSaveVO vo);
    /***
     * 参保接口信息获取并保存
     * */
    List<EduSocialSecurityVO> saveCbInterfaceData(CbSaveVO vo);
    /***
     * 获取缴费明细并保存
     * */
    void saveCbJfInterfaceData(EduSocialSecurity item,String ip);
    /***
     * 企业接口信息获取并保存
     * */
    List<EduCompanyVO> saveQyInterfaceData(QySaveVO vo);
    /***
     * 居住证接口信息获取并保存
     * */
    List<EduLivePlaceVO> saveJzzInterfaceData(JzzSaveVO vo);
    /**
     * 批量可报名数据生成
     * */
    void createBatch(BatchCreateVO vo);
    /**
     * 单个可报名数据生成
     * */
    int createEnrollBefore(EduStudentEnrollPre eduStudentEnrollPre);

    /**
     * 批量预测报名数据生成
     * */
    void createCalculateBatch(BatchCreateVO vo);
    /***
     * 我的报名查询
     * */
    void getMyEnrollInfo(List<StudentFormVO> myEnrollInfo);

    // 家庭成员信息比对(调用大数据局接口)
    String getFamInfoComparison(EduStudentEnrollPreKeyVO vo);

    /**
     * 大数据户籍接口信息获取
     * */
    List<EduHouseholdVO> queryBigDataHousehold(HouseHoldSaveVO vo);

    /**
     * 大数据房产接口信息获取
     * */
    List<EduHouseVO> queryBigDataHouseInterface(HouseInterfaceSaveVO vo);
    /**
     * 义务段报名保存
     * */
    void saveEnroll(SaveStudentEnrollVO vo);

    /**
     * 义务段模拟报名保存
     * */
    void saveImitateEnroll(SaveStudentEnrollVO vo);

    //录取报名数据
    void unifiedSupervisionEnrollAdmit(EduJhjySync eduJhjySync);

    //查询录取情况
    String unifiedSupervisionEnrollSearchAdmit(JhjyQueryVO vo);

    //报名数据上传
    void unifiedSupervisionEnrollAdd(EduJhjySync eduJhjySync);

    //报名数据删除
    void unifiedSupervisionEnrollDelete(EduJhjySync eduJhjySync);

    //取消录取报名数据
    void unifiedSupervisionEnrollCancelAdmit(EduJhjySync eduJhjySync);

    /***
     * 大数据企业接口信息获取
     * */
    List<EduCompanyVO> queryQyInterfaceData(QySearchVO vo);

    List<EduHouseVO> queryEnrollBeforeHouse(HouseInterfaceSaveVO vo) ;

    /**
     * 幼儿园房产接口信息获取并保存
     * **/
    List<EduHouseVO> saveHouseNurseryInterfaceData(HouseInterfaceSaveVO vo) ;

}
